﻿var jsp = require("./parse-js"),
    pro = require("./process"),
    slice = jsp.slice,
    member = jsp.member,
    PRECEDENCE = jsp.PRECEDENCE,
    OPERATORS = jsp.OPERATORS;

function ast_squeeze_more(ast) {
    var w = pro.ast_walker(), walk = w.walk;
    return w.with_walkers({
        "call": function (expr, args) {
            if (expr[0] == "dot" && expr[2] == "toString" && args.length == 0) {
                // foo.toString()  ==>  foo+""
                return ["binary", "+", expr[1], ["string", ""]];
            }
        }
    }, function () {
        return walk(ast);
    });
};

exports.ast_squeeze_more = ast_squeeze_more;
